Stand 06.09.95
----------------------------------------------------------------------
          ERG[NZUNG ZUR BEDIENUNGSANLEITUNG DES SOFTBRENNERS
----------------------------------------------------------------------

INHALT:

- Was hat sich ver{ndert ?

- Wie arbeitet der ROM-Generator ?

- Die Men}punkte des ROM-Generators

- Neue Men}punkte des SOFTBRENNERS 1.19

- Tips und Trips
     Aufger}stete ROM-RAM-BOX
     ROMs 'parken'
     'Echte' ROMs
     Cruncher
     Probleme mit gecrunchten Programmen
     Mehrteilige Programme
     Autostart
     Saven
     Editor
     'PLUS'-DOS-ROM-Tip (f}r PLUS-Besitzer)
     Platzwahl 8-15
     Alte Versionen  (V1.02-V1.15)
     Programme extrahieren (XTRACT)
     Checksumme
     Softbrenner ROM V1.19
     Utility ROM V1.16
     Install.asm

----------------------------------------------------------------------

Der neue SOFTBRENNER 1.19 - was hat sich ge{ndert ?

- Ab Version 1.11:
  Ein v|llig neuer, leistungstarker ROM-Generator wurde implementiert.
  Endlich ist es m|glich, mehrere Programme in ein ROM zu packen. Die 
  Beschr{nkung auf BIN-Dateien gibt's nicht mehr - es k|nnen auch 
  BASIC-Programme in ROMs verwandelt werden. Neu ist auch, da~ Dateien 
  l{nger als 16KB sein d}rfen (bis ca. 31KB) -  das Programm wird dann 
  auf zwei ROMs verteilt ! Au~erdem besteht jetzt eine Autostart-
  M|glichkeit (BASIC & BIN-Programme  !):  Nach  einem  Reset wird das 
  entsprechende Programm auf Wunsch automatisch gestartet !
  
- Aufgrund der M|glichkeit, die ROM-RAM-BOX um 8 ROM-Pl{tze auf 16 
  zu erweitern, verwaltet der SOFTBRENNER jetzt die Pl{tze 8-15 
  zus{tzlich !

- Ein ROM-Editor f}r schnelle [nderungen und Patches wurde eingebaut.
  F}r kleine Quickies am ROM (z.B. RSX-Namen {ndern) braucht der 
  SOFTBRENNER nun nicht mehr verlassen zu werden.
                                                                 
- Vor dem Installieren wird die Checksumme gegebenenfalls automatisch
  aktualisiert - das nervige Laden des 'Checkgen' usw. entf{llt also.

- Die l{stige Tatsache, da~ ROMs mit dem Namen 'BASIC' oder 'CPM ROM'
  immer als abgeschaltet galten bzw.  dargestellt wurden, ist ge{ndert 
  worden.

- ROMs, die im 1. Byte keine  0,1,2,254 oder 255 aufweisen, gelten als 
  Datenm}ll und es wird 'SCHROTT' angezeigt.

- RSX-Befehle eines ROMs k|nnen jetzt auch ausgedruckt werden - 
  praktisch bei ROMs mit sehr vielen RSX-Befehlen.

- Der neue Softbrenner l{uft nur  auf dem 6128 (Plus), allerdings wird 
  kein E-RAM benutzt (daher  k|nnen  464  Freax  auf  Anfrage eine 464 
  Version bekommen). Die  neue  XTRACT-Funktion  (ab  V1.18) verwendet 
  allerdings ERAM Block 3 (&C7).

- Einige Funktionen (installieren, killen,  parken)  kann man auch von 
  BASIC mittels RSX-Befehl aufrufen.

- Die Farbe kann ge{ndert werden.

- Ab Version 1.15:
  ROMs lassen sich jetzt auf bequeme Art und Weise 'parken'. 

- Ab Version 1.18:
  Programme,  die  mit  dem   ROM-Generator  v1.11-1.19  in  ein  ROM 
  eingebunden wurden, k|nnem mit  der  XTRACT-Option wieder extrahiert 
  und abgespeichert werden


----------------------------------------------------------------------
                       DER ROM-GENERATOR V1.19
----------------------------------------------------------------------

Wie arbeitet der ROM-Generator ?

Nach Starten des ROM-Generators  befindet  sich im Arbeitsspeicher ein 
leeres ROM, das aktuelle ROM.  Dieses  ROM kann mit Programmen gef}llt 
werden. Die Programme kann man von  Diskette  in das ROM laden und man 
kann ihnen einen RSX-Befehl zuweisen.
Das aktuelle ROM kann jederzeit gespeichert oder installiert werden.
Man kann auch ein ROM, das mit dem ROM-Generator erzeugt worden ist,
von  Diskette  laden  und   dann   weiterbearbeiten  (z.B.  mit  neuen 
Programmen auff}llen).  Au~erdem  kann  man  ROMs,  die  mit  dem ROM-
Generator erzeugt wurden, auslesen (GET ROM) und weiterbearbeiten.

Weiterbearbeiten hei~t: Man kann neue  Programme zuf}gen, man kann dem 
aktuellen ROM einen neuen ROM-Namen, eine neue Versionsnummer und eine 
neue Promtmeldung zuweisen (Promtmeldung = Der  Text, mit dem sich das 
ROM nach dem Einschalten  des  Rechners  vorstellt). Des weiteren kann 
man Programme  wieder  entfernen  (ENTFERNE  RSX)  oder  das komplette 
aktuelle ROM l|schen (ROM-DELETE = Anfangszustand).

Man kann dem ROM maximal 32 Programme zuf}gen. Die Anzahl der Eintr{ge 
wird  angezeigt  (am  Anfang:  0  VON  32).  Au~erdem  wird  angezeigt 
wieviel Platz noch frei ist und ab welcher Speicherstelle  (am Anfang: 
SPEICHER FREI AB &C2E2  FREI  100%).  Wenn  ein Programm nicht mehr in 
das aktuelle ROM  pa~t,  kann  es  auf  mehrere  ROMs verteilt werden. 
Maximal darf ein Programm aber nicht l{nger  als ca. 31 KB sein (Falls 
man unbedingt ein l{ngeres Proggy als  ROM haben m|chte, hilft oftmals 
crunchen; s.a TIPS und TRIPS).

Bei den Programmtypen gibt es keine Beschr{nkung: Man kann BASIC- und
BIN[R-Programme in das ROM einbinden und mit RSX versehen.
Besonders gut kann man  den  Speicherplatz mit 'echten' ROM-Programmen 
ausnutzten (das sind Programme, die IM ROM laufen und nicht zum Laufen 
ins RAM kopiert werden. S.a TIPs und TRIPS).

Es besteht   die   interessante   M|glichkeit,  nach  dem  Reset einen
Autostart ausf}hren zu lassen  (Beispielsweise  kann  man die Tastatur
redefinieren, Farben {ndern uvm.).

----------------------------------------------------------------------
                  Die Men}punkte des ROM-Generators
----------------------------------------------------------------------

Die Men}punkte erkl{ren sich  im  Wesentlichen  von selbst, daher wird 
hier nur auf den Haupt-Men}punkt eingegangen:

-X- RSX ZUF]GEN

Der wichtigste Men}punkt  des  ROM-Generators:  Man  kann ein Programm 
ausw{hlen, da~ in das aktuelle ROM eingebunden werden soll.

Nach  Wahl  des  Programms   bekommt  man  einige  Datei-Informationen 
ausgegeben. Anhand dieser Informationen kann man leichter entscheiden, 
wie das Programm eingebunden werden soll.

Im weiteren Verlauf werden einige  Eingaben vom Benutzer verlangt. F}r 
jede der Eingaben  macht  ROM-Gen  einen  Vorschlag,  so  da~ auch der 
eilige  Mensch  mit  Druck  auf  die  ENTER-Taste  schnell  Ergebnisse 
erzielt.

Zun{chst kann man den  RSX-Namen  des  Programms eingeben; sp{ter kann 
dann das Programm nach Eingabe dieses RSX-Befehls gestartet werden.
Der ROM-Gen schl{gt einen  RSX-Namen  vor.  Wichtig  bei  der Wahl des 
Namens ist, da~  kein  Space  verwendet  wird  (sonst  kann der Befehl 
sp{ter unter BASIC nicht ausgef}hrt werden).

Danach wird gefragt, ob sich das Programm sp{ter nach Eingabe des RSX
-1- Nur ins RAM kopieren soll
-2- Ins RAM kopieren und starten soll
-3- Im ROM starten soll
Auch hier macht ROM-Gen  einen  Vorschlag,  der  durch Druck auf ENTER 
best{tigt werden  kann.
Bei Basic-Programmen ist nach Wunsch -1- oder -2- zu w{hlen.
Wenn keine Einsprungadresse vorhanden ist (Einsprung:&0000 ,z.B. bei 
Screens), sollte man -1- w{hlen.
Befindet sich  der Start des Programms  im Bereich vom &C000-&FFFF, so 
liegt wahrscheinlich ein 'echtes'  ROM-Programm  vor  und  -3- w{re zu 
w{hlen. Sehr wichtig ist  dann  jedoch,  da~  die Startadresse mit der 
Angabe SPEICHER FREI AB:&.... }bereinstimmt.  Ist  das nicht der Fall, 
sollte das Programm ortsunabh{ngig sein  (s.a. TIPS UND TRIPS, 'echte' 
ROMs).
Ist das einzubindende Programm  kein  BASIC-Programm und kein 'echtes' 
ROM-Programm  (-3-),  fragt  ROM-Gen  nach  der  Einsprungadresse  und 
Startadresse. Die Startadresse  ist  die  Adresse,  zu  der das Proggy 
sp{ter nach Eingabe des  RSX  kopiert  wird. Die Einsprungadresse gibt 
an, wohin das Proggy zum Starten springen soll.
In der Regel sind hier die Originaladressen (Vorschlag) zu w{hlen.

Hinweis: Ist die Originaleinsprungsadresse &0000, so ist sie unbedingt 
         zu {ndern (sonst Reset) !

Der  Benutzer  wird   schie~lich   gefragt,   ob   sich  das  Programm 
autostarten soll. Ob ein Programm  autogestartet wird oder nicht, kann 
}brigens noch  nachtr{glich  im  Men}punkt  -R-  RSX  ZEIGEN  ge{ndert 
werden. In  diesem  Men}punkt  werden  Autostart-Programme  durch  ein 
nachgestelltes "*" angezeigt.

Sind alle Eingaben get{tigt worden, wird  das Programm in das aktuelle 
ROM eingebunden.
Bei  der  Einbindung  k|nnen   folgende   F{lle  bzw.  Fehlermeldungen 
auftauchen:

1. Das  Programm  pa~t  l{ngenm{~ig  in  das  aktuelle  ROM  und  wird 
   eingebunden.

2. Das Programm zu lang  f}r  ein  ROM  ->  das Programm wird auf zwei 
   ROMs verteilt. Dabei wird  so  vorgegangen: Das erste Teilst}ck-ROM 
   wird gespeichert/instaliert und das  zweite Teilst}ck ROM verbleibt 
   als neues, aktuelles ROM im  Speicher.  Dieses  zweite ROM kann nun 
   weiterverarbeitet  oder  gespeichert/instaliert   werden.  Vor  dem 
   Speichern/Installieren sollte man  auf  Wunsch  noch  den ROM-Namen 
   anpassen z.B.  XYZ  ROM  #2.  Ebenso  sollte  man  die Promtmeldung 
   ver{ndern (vieleicht auch weglassen),  um  zu kennzeichnen, welche 
   ROMs zusammengeh|ren. Ist die  Promtmeldung  40  Zeichen lang, wird 
   automatisch am Ende der Meldung ein statt "#1" eine "#2" angeh{ngt.
 
3. Im aktuellen ROM ist nur noch wenig Platz frei und das Programm ist 
   sehr lang -> Platz schaffen im aktuellen ROM !

4. Das Programm ist relativ  kurz,  aber  im aktuellen ROM ist zuwenig 
   Platz frei ->Platz schaffen  im  aktuellen  ROM oder Zweiteilung in 
   Kauf nehmen !

5. Das Programm ist l{nger als  ca.  31  KB  und somit zu lang f}r den 
   ROM-Generator. Abhilfe kann eventuell ein CRUNCHER bringen, der das 
   Proggy auf die richtige L{nge komprimiert.

6. Das Programm soll im ROM laufen, ist aber l{nger als ca. 16KB
   -> nicht m|glich.

Anmerkung: Um einer einfachen Handhabung  willen sollte man  m|glichst 
           vermeiden, zweigeteilte ROMs zu  erzeugen. Ung}nstig ist es 
           auch, mehrteilige ROMs  zu  verschachteln,  d.h. man sollte 
           vermeiden, den ersten  Teil  eines  Programms  in einem ROM 
           unterzubringen, in dem sich schon  der restliche Teil eines 
           anderen Programms befindet !

Wichtig: Wurde ein Programm auf zwei ROMs verteilt, M]SSEN beide ROMs 
         installiert sein, wenn es ordnungsgem{~ laufen soll !
         Es ist  }berigens  egal,  in  welcher  Reihenfolge  oder  auf 
         welchen ROM-Nummern die Teil-ROMs installiert werden.

Hinweis: Wird  ein  Programm  aufgeteilt,  so  bekommt  der  Rest  des 
         Programms im zweiten  ROM  automatisch  einen  eigenen Dummy-
         RSX-Namen zugewiesen, der  nicht  ausf}hrbar  ist.  Solch ein 
         Dummy-RSX darf man NICHT in ein Autostart-RSX verwandeln !

Hat man sich schlie~lich ein  ROM nach Wunsch zusammengestellt, sollte 
man nicht vergessen, das ROM  zu speichern/installieren - insbesonders 
wenn man vom ROM-Generator zum  SOFTBRENNER wechseln will, weil einige 
Aktionen   des   SOFTBRENNERs    das    aktuelle    ROM    (bzw.   den 
ROM-Buffer) l|schen:
1. LOAD & INSTALLIEREN
2. GET ROM
3. RSX "VON DISC ANZEIGEN"
4. SAVE ROM
5. XTRACT
Wurde bei einer  dieser  Aktionen  ein  ROM-Generator-ROM  in den ROM-
Buffer geschrieben, wird es als aktuelles ROM }bernommen !


----------------------------------------------------------------------
                   NEUE MEN]PUNKTE DES SOFTBRENNERS
----------------------------------------------------------------------

Ab SOFTBRENNER v1.15 gibt es den neuen  Men}punkt (und einen neuen 
RSX-Befehl): -P- PARKE ROMs.

Mit diesem  Men}punkt  kann  man  Hintergrund-ROMs  (erstes  Byte &01) 
stillegen, OHNE: a) den Platz abzuschalten
                 b) den !ROMOFF-Befehl zu benutzen
                 c) das ROM zu l|schen

Geparkte ROMs werden nicht  mehr  initialisiert  und  sind quasi nicht 
mehr vorhanden.  Mit  der  gleichen  Funktion  kann  das  ROM  wieder 
'ungeparkt' werden.
Die Parkfunktion tauscht  das  erste  Byte  (&01) des Hintergrund-ROMs 
(Hi) gegen eine &FE aus. Nat}rlich kann man diesen Effekt auch mit dem 
Editor erziehlen !

Neu im Men} taucht jetzt auch die Funktion -F-Farbwahl auf.
Wen die  bl}tenwei~e  Hintergrundfarbe  st|rt,  kann  nun  die F-Taste 
dr}cken...


Ab SOFTBRENNER v1.18 gibt es den neuen  Men}punkt -X- XTRACT.

Diese  Neuerung  gestattet  es   dem   Benutzer,  Programme  aus  ROMs 
herauszuziehen und abzuspeichern. Das  funktioniert allerdings nur bei 
ROMs, die mit dem ROM-Generator  v.1.11-1.19 erstellt wurden. Die gute 
alte Version V1.02 wird NICHT  unterst}tzt  (da  k|nnte man sowiso nur 
ein Prog herausziehen).
Die neue M|glichkeit ist sehr praktisch, wenn man Routinen aus {lteren 
ROMGEN-ROMs  in  neue  ROMs  einbauen   m|chte.  Dazu  zieht  man  die 
gew}nschten Programme mit der XTRACT-Option  aus  dem alten ROM heraus 
und speichert sie ab. Anschlie~end k|nnen diese Programme dann mit dem 
ROM-GEN neu zusammengestellt werden.

Hinweis: Bei 'echten' ROM-Programmen kann es zu Problemen f}hren, weil 
         diese Progs meistens  genau  auf  der  Speicheradresse im ROM 
         landen m}ssen, f}r die sie  programmiert  worden  sind.
         Hat man  jedoch  ein  'echtes'  ROM-Programm  extrahiert  und 
         m|chte es in  einem  ROM  neu  installieren,  ist nicht immer 
         gew{hrleistet, da~ das  Prog  auf  die  die  richtige Adresse 
         kommt. Also Vorsicht !

----------------------------------------------------------------------
                            TIPS UND TRIPS
----------------------------------------------------------------------

Aufger}stete ROM-RAM-BOX 256KB - 16 Pl{tze

Bei nachtr{glichen Hardware-Umbauten,  die  die  Funktion entscheidend 
ver{ndern,  mu~  man  normalerweise  immer  mehr  oder  weniger  gro~e 
Kompromisse in  Kauf  nehmen.  Gl}cklicherweise  besteht  der  einzige 
Kompromi~ bei der aufger}steten ROM-RAM-BOX  darin, da~ sich nun  zwei 
ROMs ein Schalterchen teilen -> Schalter (4).
Wenn man eines der 8 DIP-Schalterchen  bet{tigt, sind immer
zwei ROM-Pl{tze betroffen: ROM  n  und  ROM  n+8  (die ROMs, welche im 
SOFTBRENNER-Men}punkt '-Z- Zeige ROMs' NEBENEINANDER erscheinen).

Beispiele:
Ich schalte Platz 0 aus -> Platz 0 und 8 sind aus
  "    "      "   1 aus ->   "   1 und 9 sind aus
  "    "      "   8 an  ->   "   8 und 15 sind an
usw.

Falls man eines der beiden  ROMs  gezielt  abschalten m|chte, ohne das 
andere gleich  mit  stillzulegen,  kann  man  den  !ROMOFF-Befehl  des 
SOFTBRENNERs benutzen.
Beispiel:
Ich m|chte alle ROMs bis auf 3 und 5 und 6 benutzen:
!ROMOFF,3,5,6  -> ROM 3,5 und 6 werden softwarem{~ig ausgeh{ngt.

Mit !ROMOFF,240 k|nnte man  ALLE  ROMs  wieder initialieren (240 dient 
hierbei  nur  als  'Dummy-ROM')   ->   alle   ROMs  au~er  240  werden 
initalisiert.

Wenn ein Programm  (z.B.  DISC'O'MAGIC)  nach  Programmstart alle ROMs 
wieder einh{ngt (auch das, was  man  vieleicht  nicht m|chte), so kann 
man das ROM nat}rlich  mit  '-E-  ENTFERNE  ROM' bzw. !KILL,nr l|schen 
aber es geht noch anders:
Man parkt das  l{stige  ROM  mit  der  '-P-  PARKE  ROM'-Funktion bzw. 
!ROMPARK,nr.  Nach  einem  Reset  ist  dieses  ROM  quasi  nicht  mehr 
vorhanden.  Angezeigt  wird   dann   'GEPARKT'.   Will   man  das  ROM 
wiederhaben, benutzt man die  gleiche  Funktion zum 'Unparken'. Parken 
kann man  allerdings  nur  Hintergrund-Roms  (Hi),  die  aber  auch am 
h{ufigsten vorkommen.

Nebenbei gesagt: Man kann  die  ROMs  auch  'von  Hand' mit dem Editor 
parken:  Das  l{stige  ROM   wird   mit   '-G-  GET  ROM'  ausgelesen. 
Anschlie~end ersetzt man mit dem EDITOR  das Byte bei &4000 durch eine 
&FE. Dann installiert man das ROM wieder. Will man es wiederhaben, mu~ 
man die Prozedur wiederholen,  nur  da~  dann  wieder das Originalbyte 
eingetragen werden mu~  (eine &01 bei Hintergrund-ROMs).

Sinnreich ist es auch, ROMs 'nebeneinander'  zu legen, die ohnehin ein 
Paar bilden (z.B. MAXAM  1.5  und  PROTEXT)  oder  den  ersten und den 
zweiten   Teil   eines   ROMs.    Dann    schaltet   man   immer   ein 
zusammengeh|rendes Paar ein-oder aus.
----------------------------------------------------------------------

ROMs 'PARKEN'

Siehe 'NEUE MEN]PUNKTE DES SOFTBRENNERs' !

----------------------------------------------------------------------

'ECHTE' ROMs

Bei den Programmen, die man in  das  aktuelle ROM einbinden kann, gibt 
es  zwei  Hauptgruppen:  a)  Programme,  die  nach  Eingabe  des  RSX-
Befehls in den Speicher kopiert und wahlweise gestartet werden und b) 
Programme,  die  IM  ROM  laufen.   Diese   Art  der  Nutzung  ist  am 
Vorteilhaftesten, weil
1. weniger Verwaltungsbytes im ROM anfallen und weil
2. kein Speicher im RAM benutzt wird.
Diese Programme m}ssen bestimmte  Kriterien  erf}llen: Sie m}ssen ROM-
f{hig sein (z.B. kein selbstver{ndernder Code usw.) und sie m}ssen f}r 
den Speicherbereich lauff{hig sein, ab dem im aktuellen ROM Platz frei 
ist. Beispiel: Am Anfang ist  im  aktuellen  ROM Platz frei ab Adresse 
&C2E2. Entweder mu~ das Programm ortsunabh{ngig  sein oder man mu~ das
gew}nschte Programm  mit  dieser  Startadresse  assemblieren.  Das ist 
nat}rlich nur  m|glich,  wenn  man  den  Quellcode  des  Programms zur 
Verf}gung hat. Ist dies  nicht  der  Fall,  mu~  das  Programm auf die 
'normale' Art (in den Speicher kopieren) eingebunden werden.
----------------------------------------------------------------------

CRUNCHER

Wenn ein Programm l{nger als 31 KB  ist oder wenn man eine Teilung des 
Programms auf zwei ROMs vermeiden m|chte, ist Crunchen angesagt.
Empfohlen sei hier  Antoines  neuer  CHEESE  CRUNCHER  V2.1, der beste 
Ergebnisse erzielt. Als gutes  Beispiel  daf}r,  wie n}tzlich crunchen 
ist,  dient das allseits  beliebte  DISC'O'MAGIC  von Joker. Ungepackt 
ca. 16KB lang,  m}~te  das  Programm  auf  zwei  ROMs verteilt werden. 
Gepackt ist das Proggy  nur  ca.  13KB  kurz  und  kann problemlos mit 
verschiedenen anderen Tools in EIN ROM gepackt werden.
Bevor man ein Programm in  ein  ROM  einbindet sollte man vorher immer 
versuchen es zu crunchen !
----------------------------------------------------------------------

PROBLEME MIT GECRUNCHTEN PROGRAMMEN
Manchmal kommt es vor, das Programme, die mit dem CHEESE-CRUNCHER
gecruncht und  dann  mit  dem  ROM-GEN  eingebunden  wurden,  Probleme 
bereiten bzw. nicht oder nicht richtig arbeiten. 
Ein Erkl{rung hierf}r k|nnte  sein,  da~  die  Progs nach dem Crunchen 
eine sehr hohe  Anfangsadresse  und  damit  eine  sehr hohe Endadresse 
bekommen. Das f}hrt oftmals dazu, das das Proggie nach dem Starten mit 
RSX-Befehl  und  anschlie~endem  Kopieren  in  den  Speicher  Bereiche 
}berschreibt, die dem 'RSX-Mechanismus' vorbehalten sind.

Abhilfe:

Probeweise bei Eingabe der Startadresse im entsprechenden ROM-GEN-Men} 
eine niedrigere  Adresse  angeben  (und  eine  entsprechend niedrigere 
Einsprungadresse).  Manchmal  kann  man  sogar  das  Programm  in  den 
Bildschirmspeicher kopieren=Adresse  &C000.  Das  geht  nat}rlich nur, 
wenn das gecrunchte Programm k}rzer als  &4000  Bytes ist und wenn der 
Decrunch-Buffer nicht in den Bereich gr|~er als &C000 gelegt wurde !
                                                       
----------------------------------------------------------------------

MEHRTEILIGE PROGRAMME

Auch  mehrteilige  Programme  k|nnen  problemlos  in  ROMs  verwandelt 
werden: Oftmals bestehen Programme aus  einem kleinen BASIC-Loader und 
dem  BIN[r-Hauptprogramm.   H{ufig   kann   der   BASIC-Lader  einfach 
weggelassen werden und man braucht nur das BIN[R-Programm einzubinden.
Beispiel:

10 MEMORY &7FFF
20 LOAD"MAIN",&8000
30 CALL &8000

In diesem Fall ist nur das Programm "MAIN" von Bedeutung.

Anders sieht die Sache bei folgendem Beispiel aus:

10 MEMORY &7FFF
20 LOAD"SCREEN",&C000
30 LOAD"MAIN",&8000
40 CALL &8000

Wenn man in diesem Falle nicht auf den Screen verzichten wollte, m}~te 
man das BASIC-Programm leicht modifizieren:

10 MEMORY &7FFF
20 !SCREEN
30 !MAIN

Anschlie~end m}~te man das  BASIC-Programm  abspeichern.
Nach  Start  des  ROM-Generators  k|nnen   alle  Teile  des  Programms 
eingebunden werden (-R- RSX ZUF]GEN).
Das BASIC-Proggy k|nnte man mit beliebigen RSX-Namen einbinden
(z.B mit dem  RSX  'KEKSE'),  der  Screen  w{re  mit  dem RSX 'SCREEN' 
einzubinden, und das Hauptprogramm  'MAIN'  m}~te den RSX-Namen 'MAIN' 
bekommen.
'KEKSE'   mu~   im   "-R-   RSX   ZUF]GEN-Men}"   als   'Kopieren  und 
starten', 'SCREEN' mu~ als 'Nur kopieren' und 'MAIN' als 'Kopieren und 
starten' definiert werden.

Fertig installiert k|nnte man das Programm dann mit !KEKSE starten.

Speziell bei diesem Beispiel  sollte  man  folgenden Umstand beachten:
Manchmal werden da~ die Nachlade-Teile  an bestimmte Adressen geladen, 
(LOAD"MAIN",&8000 statt LOAD"MAIN") obwohl  die  Startadresse, mit der 
sie abgespeichert wurden, ein andere ist (z.B. &4000).
Beim Einbinden darf man also  nicht die vorgeschlagene Originaladresse 
(hier &4000) }bernehmen, sondern man mu~ dem Programmen die gew}nschte 
Adresse  (also  &8000)  zuweisen.  Ebenso  verh{lt  es  sich  mit  der 
Einsprungadresse: Abgespeichert wurde  das  Proggy  beispielsweise mit 
&4000, aufgerufen wird es  aber  mit  CALL  &8000,  weil  es auch nach 
&8000  geladen  wird.  Entsprechend  m}~te   dem  Programm  &8000  als 
Einsprung zugewiesen werden.

G}nstig w{re nat}rlich auch, wenn man den Screen und das Hauptprogramm
crunchen w}rde.
----------------------------------------------------------------------

AUTOSTART

Autostart ist eine feine Sache  -  leider gibt's manchmal Probleme mit 
Programmen,  die  vor  dem   Start   alle  ROMs  initialisieren  (z.B. 
DISC'O'MAGIC) - denn durch das Initialisieren wird das Programm erneut 
gestartet usw. usw. Deshalb  wurde  eine  spezielle Tastaturabfrage in 
die  ROM-GEN-ROMs  implementiert:  Um  zu  verhindern,  da~  sich  ein 
Programm autostartet, braucht  man  nur  die  Space-Taste  w{hrend der 
Initialisierung zu dr}cken !
Probleme kann es auch geben, wenn das autogestartete Programm auf RSX-
Befehle von ROMs  zugreifen  will,  die  noch  gar nicht initialisiert 
sind, weil ja das  Autostart-Proggy  dazwischenkam:  In solchen F{llen 
das ROM mit dem  Autostart-Programm  auf  einer m|glichst kleinen ROM-
Nummer installieren, weil die  ROMs  von  15  - 0 initialisiert werden 
(bzw. 7-0 beim 464).
Ab der Version 1.16 k|nnen auch BASIC-Programme autogestartet werden.

----------------------------------------------------------------------

SAVEN

Beim Saven ist  auch  folgende  Eingabe  m|glich: Filename:0B:TEST.ROM 
oder Filename:B:TEST.ROM !
----------------------------------------------------------------------
EDITOR

Neben kleinen Patches kann  man  mit  dem  Editor  noch eine n}tzliche 
Funktion aus}ben: Man kann ROMs stillegen (ohne sie zu l|schen), indem 
man da~ erste Byte (normalerweise 0,1,2 oder &80) gegen einen Wert 
<> 0,1,2,&80 austauscht (z.B.  &FE  oder  &FF).  Nach einem Reset wird 
dieses ROM dann  nicht  mehr  initialisiert  !  Hat  man  als Wert &FE 
gew{hlt, wird }brigens 'GEPARKT' angezeigt bzw. bei &FF 'LEER'.
Parken kann man noch bequemer mit der '-P- PARKE ROMs'-Funktion ! 

Weiterhin kann man z.B. den ROM-Namen oder die Promtmeldung eines ROMs 
{ndern (sinnreich bei ROMs, die  nicht  mit dem ROM-Generator erstellt 
wurden).

Beispiel: Ich m|chte die Promtmeldung eines ROMs unterdr}cken.

Ich bl{ttere zu der Stelle  im  ROM,  wo die Promtmeldung steht. Jetzt 
schaue ich, welche Endmarkierung der Promtstring besitzt. Meistens
eine &00 oder &FF. Dieses  Byte  trage  ich am Anfang der Promtmeldung 
ein. Wenn z.B. die Promtmeldung  hei~t  'KEKS-ROM AKTIV', dann mu~ man 
dieses Byte anstelle des  'K'  setzen.  Anschlie~end  wird das ROM neu 
installiert und ausprobiert. Eventuell kann man auch noch mit diversen 
Steuerzeichen   (z.B.   10->Linefeed    oder    13->Carriage   return) 
herumspielen  d.h.  man  tr{gt   diese   vor   der  Endmarkierung  ein 
(z.B. &0A,&0D,&00 -> lf,cr, Ende).
----------------------------------------------------------------------

'PLUS'-ROM-TIP (nur f}r PLUS Besitzer relevant)

Manche Programme (z.B.  DISCOLOGY)  laufen  nicht  auf  dem PLUS, weil 
dieser eine neuere DOS-Version  besitzt  (V0.70)  und manche Programme 
direkte Einspr}nge ins ROM machen (und dann im Nirvana landen).
Normalerweise k|nnte man diesen Umstand  leicht beheben, indem man ein 
'normales' 6128 DOS (V0.50) auf  Platz  7  legt.  Leider ist das nicht 
ohne weiteres m|glich, weil das Betriebssystem nach dem Einschalten in 
das Auswahlmen} (liegt auch  im  PLUS-DOS) springt (BURNIN..oder BASIC 
starten).  Legt  man  ein  normales  DOS  auf  Platz  7,  gibt's  beim 
Einschalten Aussteiger. Man kann den PLUS aber }berlisten:
Man installiert ein 'normales'  DOS  auf  Platz  7 und schaltet diesen 
dann aus. Danach Rechner einschalten  bzw.  Reset ausl|sen und im Men} 
'BASIC'  w{hlen.  Das  PLUS-DOS  und   evtl.  vorhandene  ROMs  werden 
jetzt initialisiert. Und nun der  Trick:  Platz  7 (mit dem 'normalen' 
DOS)  einschalten  und  mit  dem   ROMOFF-Befehl  nochmals  alle  ROMs 
initialisieren !
Man gibt also ein: !ROMOFF,240
Jetzt werden alle ROMs au~er ROM  240 initialisiert (ROM 240 dient als 
Dummy-ROM).
Nun kann man auch Programme wie DISCOLOGY auf dem PLUS laufenlassen.
Nach einem Reset allerdings mu~ man die Prozedur wiederholen...

Achtung: Damit  man  auch  das  'richtige'  ROMOFF  zur  Verf}gung hat 
         (manche ROMs z.B. XDDOS) stellen einen gleichlautenden Befehl 
         zur  Verf}gung,  sollte  man  das  SOFTBRENNER-ROM  auf  eine 
         m|glichst kleine Nummer legen (am besten Numer 1) !

Letzte Meldung: Wir haben das  AMSDOS  v0.50 (normales 6128 AMSDOS) so 
                gepatched, da~ man es auch beim PLUS einfach auf Platz 
                7 legen  kann  !  Somit  l{~t  sich  der  PLUS endlich 
                supereinfach kompatibel  machen  -  ohne  obengenannte 
                Trickserei ! Der Patch ist bei uns erh{ltlich.

----------------------------------------------------------------------

PLATZWAHL 8-15

Noch ein Wort  zu  der  M|glichkeit,  ROMs  auf  den  Pl{tzen  8-15 zu 
installieren:

Durch ung}nstige  Programmierung  mancher  Programme  reagieren  diese 
fehlerhaft, wenn sie auf Pl{tzen  installiert  sind, die ]BER dem DOS 
liegen.
Beispiel: Das DOS  liegt  auf  Platz  7,  ein  ROM  ist  auf Platz 14 
installiert. Im ung}nstigen Fall ist das Programm auf Platz 14 
'unflexiblel' programmiert und es kommt zu Funktionsst|rungen.

Der Grund:

Da ROMs von 15 - 1 installiert werden und in diesem Fall das DOS nicht 
zuerst initialisiert wird, bekommt es nicht den 'Arbeits-RAM'-Bereich, 
den  es  'normalerweise'  bekommen  w}rde  (&A700)  sondern  vieleicht 
(&A200).
Wenn das  Programm  auf  Platz  14  aber  dummerweise  von  einem DOS-
Arbeitsbereich von &A700 ausgehen w}rde, k{me es zu Fehlern !

Abhilfe:

Um sicherzustellen, da~ sich das  DOS  immer zuerst seinen RAM-Bereich 
reservieren  kann,  legt  man   es   auf   die  h|chstm|gliche  Nummer 
(Ideal=15).  'Tieferliegende'  DOS-ROMs   werden   entfernt  bzw.  das 
eingebaute AMSDOS auf Nummer 7  wird  }berblendet. Nachdem man das DOS 
auf Platz 15 gelegt hat, w{re  es  extraclever, das eingebaute AMSDOS-
ROM auszulesen und es gepatched wieder  auf  Nummer 7 zu legen: das 1. 
Byte (&01) wird durch eine &FE  oder  &FF  ersetzt (bzw. man parkt das 
ROM). Somit w{re es zwar nicht  mehr  aktiv, falls jedoch ein 'dummes' 
Programm direkte Einspr}nge in das  ROM  machen  w}rde, g{be es selbst 
dann keine Probleme.
----------------------------------------------------------------------

ALTE VERSIONEN

Aufgrund der v|lligen Neugestaltung des  ROM-Generators sind ROMs, die 
mit dem SOFTBRENNER v1.02 erzeugt  wurden, mit neueren Versionen nicht 
mehr weiterverarbeitbar. Dagegen sind ROMs,  die mit dem ROM-Generator 
v1.11-v1.15 erzeugt  wurden,  untereinander  kompatibel.  Es empfiehlt 
sich  jedoch,  ROMs  m|glichst  nur   mit  der  aktuellen  Version  zu 
generieren. Weil ab der  Version  1.16  die  M|glichkeit besteht, auch 
BASIC-Programme  autozustarten  und   deshalb  der  Verwaltungsaufwand 
innerhalb des ROM-Generators gestiegen ist, k|nnen ROMs, die ab dieser 
Version   erzeugt   wurden,   nicht    mehr    mit   alten   Versionen 
weiterbearbeitet werden.
S.a. PROGRAMME EXTRAHIEREN (XTRACT)
----------------------------------------------------------------------

PROGRAMME EXTRAHIEREN (XTRACT)

Wenn man jedoch gerne Routinen aus  {lteren ROMGEN-ROMs in neuere ROMs 
einbauen  m|chte,  kann  man  einfach   den  neuen  XTRACT-Befehl  des 
SOFTBRENNERS  benutzen.  Die  gew}nschten   Programme  werden  einfach 
extrahiert,  abgespeichert  und  k|nnen   nun   neu  mit  dem  ROM-GEN 
zusammengestellt werden.
-----------------------------------------------------------------------

CHECKSUMME

Vor dem Installieren  wird  das  ROM  automatisch  untersucht, ob eine 
Standart-Checksummen-Routine implementiert ist. Wenn das der Fall ist, 
wird vom SOFTBRENNER  nachgeschaut,  ob  das  Checksummen-Byte korrekt 
ist. Falls nicht, wird es  angepa~t  und eine Meldung wird ausgegeben. 
In der Regel ist dies bei  editierten  ROMs  oder bei ROMs der Fall, 
die mit ROM-GEN erzeugt wurden. 
ACHTUNG: Eine solche Meldung kann aber  auch ein Hinweis sein, da~ das 
ROM  defekt  ist  (z.B.   ein   defektes   ROM  wurde  ausgelesen  und 
abgespeichert). Im Falle einer  unkontrollierten  Ver{nderung des ROMs 
stimmt die Checksumme nicht mehr  und  es  wird beim Initalisieren des 
ROMs ein 'Checksum-Error' ausgegeben.
Der SOFTBRENNER korrigiert die Checksumme in jedem Fall, auch wenn das 
ROM  defekt  ist  !  Der  Benutzer  mu~  selber  entscheiden,  ob  die 
Meldung 'Checksumme wird  korrigiert'  ein  Hinweis  auf ein defektes 
oder ein kontrolliert ge{ndertes bzw. neu generiertes ROM ist !
-----------------------------------------------------------------------

SOFTBRENNER ROM V1.19

Folgende RSX-Befehle sind implementiert:
!SB               - startet den SOFTBRENNER
!INSTALL,(0-15)   - installiert ein ROM (Daten bei &4000) auf Platz 0-15
!KILLROM,(0-15)   - killt ein ROM auf Platz 0-15
!HELP             - gibt Liste der ROMs 0-15 aus
!HELP,nr          - gibt RSX-Befehle von ROM nr aus
!ROMHELP          - das gleiche wie HELP
!ROMOFF,nr,nr...  - initialisiert ALLE ROMs (1-15) au~er denen, die
                    durch Nummer angegeben werden.
                    Beispiel: ROM 1,3 und 15 sind nicht erw}nscht.
                    Also: !ROMOFF,1,3,15
                    Achtung: Manche ROM-Programme  initialisieren alle 
                             ROMs nach ihrem  Start  und  machen somit 
                             die durch  den  ROMOFF-Befehl  gesperrten 
                             ROMs wieder wirksam ! (z.B. DISC'O'MAGIC)
!ROMPARK,nr       - (UN)parkt ein ROM auf Platz nr
----------------------------------------------------------------------

UTILITY ROM V1.16 (kleine Zusammenstellung von Utility-Programmen)

!HELP            - gibt Liste der ROMs 0-15 aus
!HELP,nr         - gibt RSX-Befehle von ROM nr aus
!75HZ            -schaltet auf 75HZ um
!60HZ            -schaltet auf 60HZ um
!50HZ            -schaltet auf 50HZ um
!CRTC.RESET      -setzt den CRTC zur}ck
!GCAT            -CAT & informiert }ber 'Geistereintr{ge" auf anderen Usern 
!GCAT,nr         -schaltet zus{tzlich auf USER nr
!RAMCHECK        -informiert }ber angeschlossenes RAM
!R               -'Rettet' den Speicher in das E-RAM (Block 0-2) 
!U               -'Urzustand": Holt den Speicher aus dem E-RAM zur}ck
!PRE             -Setzt Farben, Speed key, Tastaturbelegung
!KA              -Macht Katalog von A ohne auf A umzuschalten
!KB              -Macht Katalog von B ohne auf B umzuschalten
!KC              -Macht Katalog von C ohne auf C umzuschalten
!INSTALL,nr      -installiert ein ROM (Daten bei &4000) auf Platz 0-15

Besonders praktisch  f}r  Programmierer  sind  die  Befehle  R  und  U 
(neuste Version): Vor austeigefreundlichen  Aktionen  'Rettet' man den 
Speicher (alle Einstellungen und  Programme)  in  das E-RAM und testet 
sein  Programm  aus.  Nach  einem  Absturz   kann  man  alles  mit  !U 
zur}ckholen. Vor dem  Retten  wird  ein  evtl. ge|ffnetes ASIC-Fenster 
geschlossen.

Alle  Tools liegen  }brigens  als  'echte'  ROMs  vor,  d.h.  bis auf 
Arbeits-RAM-Bereiche wird kein RAM belegt !
----------------------------------------------------------------------

INSTALL.ASM

Auf der Diskette  befindet  sich  ein dokumentiertes Assembler-Listing 
(MAXAM),  da~  demonstriert,   wie   man   ROMs   in  die  ROM-RAM-BOX 
transferiert. Der Unterschied zum  {lteren  Listing besteht darin, da~ 
nun das zu installierende ROM bei &4000 nicht mehr gel|scht wird.
----------------------------------------------------------------------